package com.fourgirls.xiaoxiang.service.Medicine;

import com.fourgirls.xiaoxiang.pojo.Medicine.MedicineIdVo;
import com.fourgirls.xiaoxiang.pojo.Medicine.*;
import com.fourgirls.xiaoxiang.pojo.Shopping.ShoppingMedicineNumberVo;

import java.util.List;

public interface MedicineService {
    //---------------------------------------------------------------查询分割线--------------------------------------------------------
    /**
     * 查询medicine表中的所有数据
     * @return 查询的数据
     */
    public List<MedicineVo> findAllMedicine();

    /**
     * 查询medicine表中的所有数据(根据medicineId查询)
     * @return 查询的数据
     */
    public MedicineVo findAllMedicineId(MedicineIdVo medicineIdVo);


    /**
     * 查询medicine表中的所有数据（价格从高到低排序）
     * @return 查询的数据
     */
    public List<MedicineVo> findAllMedicineUnivalence();

    /**
     * 查询medicine表中的所有数据（评论从高到低排序）
     * @return 查询的数据
     */
    public List<MedicineVo> findAllMedicineEvaluate();

    /**
     * 查询medicine表中的所有数据（销售额从高到低排序）
     * @return 查询的数据
     */
    public List<MedicineVo> findAllMedicineSalesVolume();

    /**
     * 查询medicine表中的所有数据（药品分类为）
     * @return 查询的数据
     */
    public List<MedicineVo> findAllMedicineSort(MedicineSortVo medicineSortVo);

    /**
     * 查询medicine表中的所有数据（药品名字为）
     * @return 查询的数据
     */
    public List<MedicineVo> findAllMedicineName(MedicineNameVo medicineNameVo);


    //---------------------------------------------------------------增加分割线--------------------------------------------------------
    public int addMedecine(MedicineVo medicineVo);

//---------------------------------------------------------------删除分割线--------------------------------------------------------
    public int deleteMedecine(MedicineIdVo allIdVo);

//---------------------------------------------------------------修改分割线--------------------------------------------------------
    /**
     * 修改medicine表中的药品的所有信息
     * @return 查询的数据
     */
    public int updateMedicine(MedicineVo medicineVo);

    /**
     * 修改medicine表中的药品的数量
     * @return 查询的数据
     */
    public int updateMedicineNumber(MedicineNumberVo medicineNumberVo);

    /**
     * 修改medicine表中的所有评论数量（只能修改评论值，为后面用户增加评论+1 or -1做准备）
     * @return 查询的数据
     */
    public int updateMedicineEvaluate(MedicineEvaluateVo medicineEvaluateVo);

    /**
     * 查询medicine表中的所有销售额的数量（只能修改销售额，为后面用户买药品+1 or -1做准备）
     * @return 查询的数据
     */
    public int updateMedicineSalesVolume(MedicineSalesVolumeVo medicineSalesVolumeVo);
}
